// 公用--自定义校验规则
const validRules = {
  // 中文校验
  isChinese: function (rule, value, callback) {
    if (value && !/^[\u4e00-\u9fa5]+$/.test(value)) {
      callback(new Error('只能输入中文'));
    } else {
      callback();
    }
  },
  // 中文字母校验
  isChineseOrEnglish: function (rule, value, callback) {
    if (value && !/^[a-zA-Z\u4e00-\u9fa5]+$/.test(value)) {
      callback(new Error('只能输入中文'));
    } else {
      callback();
    }
  },
  // 英文数字校验
  isEnglishOrNumber: function (rule, value, callback) {
    if (value && !/^[a-zA-Z0-9]+$/.test(value)) {
      callback(new Error('只能输入字母/数字'));
    } else {
      callback();
    }
  },
  // 数字校验
  isNumber: function (rule, value, callback) {
    if (value && !/^[0-9]+$/.test(value)) {
      callback(new Error('只能输入数字'));
    } else {
      callback();
    }
  },
  // 金额校验（17,2）
  isMoney_17_2: function (rule, value, callback) {
    if (value && !/^(([1-9][0-9]{0,14})|([0]{1})|(([0]\\.\\d{1,2}|[1-9][0-9]{0,14}\\.\\d{1,2})))$/.test(value)) {
      callback(new Error('只能输入15位金额'));
    } else {
      callback();
    }
  },
  // 数字或字母校验
  isNumberorLetter: function (rule, value, callback) {
    if (value && /^[0-9a-zA-Z]*$/g.test(value)) {
      callback();
    } else {
      callback(new Error('只能输入数字或者字母'));
    }
  },
  isNotChinese: function (rule, value, callback) {
    if (value && /^[\u4e00-\u9fa5]+$/.test(value)) {
      callback(new Error('不能输入中文'));
    } else {
      callback();
    }
  },
};

export default validRules;